Traditional communication in terrestrial radio networks is via links between User Equipments (UEs) and base stations. However, when two UEs are in the vicinity of each other, then direct device to device (D2D) communication may be an option. D2D communication may be dependent on synchronization information from either a base station or a different node such as a cluster head (CH) (i.e., a UE acting as a synchronization source) providing local synchronization information, or a UE enabled to relay synchronization information from a different synchronization source. The synchronization source from enhanced NodeB (eNB)/CH is used for intra-cell/cluster communication. The relayed synchronization signal is used for inter-cell/cluster communication.
In order to support at least Public Safety scenarios, the UE behavior is mapped to different coverage states. These coverage states are dependent on the UE being In network Coverage (InC) or Out of network Coverage (OoC). One state is “UL+DL-coverage” (State A). In this state, a UE is expected to be able to establish an RRC connection, if needed, and therefore, D2D transmission in this area uses granted resources.
Another state is “Edge-of-Coverage” (State B). In this state, a UE is expected to be able to at least detect broadcast system information transmitted by the eNB, and hence D2D transmission is based on broadcasted D2D resources.
Another state is “OoC with relayed control plane detected” (State C). In this state, a UE is OoC but it detects a control plane originally from an eNB and relayed by an in-coverage UE. Therefore, D2D transmission in this state uses resources that are relayed by a CP relay UE (on the PD2DSCH) and originally from an enodeB.
Another state is “OoC” (State D). In this state, a UE is OoC and unable to detect a control plane originally from an eNB and relayed by an in-coverage UE. In this case the UE uses pre-configured resources for D2D transmission.
FIG. 1 illustrates the states discussed above. UE A can use the D2D functionalities supported in coverage state A, while UE B only supports D2D functionalities according to state B. UE C only supports D2D functionalities according to state C, and UE D, in this case, is out of network coverage (state D).
Furthermore, there are different modes of D2D communications. In a first mode, mode 1, the UE receives resource allocations from the serving base station and use those for communication (state A). In a second mode, mode 2, the UE selects resources for communication from a pool of resources, which either have been sent to the UE via eNB broadcast (state B), via a control plane relaying UE (state C), or pre-configured (state D)
The D2D transmissions are supported by a synchronization signal D2DSS, and optionally a synchronization message PD2DSCH to convey synch and information to the receiver(s). Payload data is scheduled via a scheduling assignment (SA). SA and payload may contain source and/or destination addresses, or may be scrambled by a sequence associated to the source and/or destination address. FIG. 2 illustrates an example of allocation of resources.
In the 3GPP specification, the following definitions have been made on the identifiers for communication for Proximity-based Services:                ProSe UE ID: This ID is a link layer identifier assigned by the EPS that uniquely represents the UE in the context of ProSe Direct Communication. This ID is used as a source Layer-2 address in all the packets the UE sends for ProSe Direct Communication        ProSe Layer-2 Group ID: This ID is a link layer identifier that identifies the group in the context of one-to-many ProSe Direct Communication. It is used as a destination Layer-2 address in all the packets the UE sends to this group.        
The transmission mode, when sending data during D2D communication, may be either (i) unicast (i.e., a specific UE is the receiver), (ii) multicast (may also be denoted groupcast)(i.e., a group of UEs are receivers), or (iii) broadcast—all UEs are receivers.
For multicast transmissions, for example, in a “multicast MAC data PDU,” the transmitting UE maps the ProSe identifiers to L2 addresses. For example, as illustrated in FIG. 3, the ProSe UE ID is mapped to a source L2 address carried in the MAC header, and the ProSe Layer-2 Group ID is mapped to destination layer 2 address carried in the MAC header. Also, the ProSe identifiers may also be mapped onto different addresses and mechanisms in the physical layer.
In mode 1, it is the eNB that controls the D2D communication, and therefore potentially also the L2 source address of the UE. This is similar to how L2 addresses are handled for cellular communication, where the eNB assigns the L2 identifier C-RNTI (Cell Radio Network Temporary Identifier), and the UE is configured with a new C-RNTI upon handover to a different cell.
There are several purposes of the source and destination addresses in the MAC layer. One purpose is to perform MAC filtering (i.e., to discard data PDUs already in MAC which are not intended for the receiving UE). However, another important purpose is to enable the receiving UE to identify the receiving RLC entity (i.e., to support reassembly in RLC). The combination of source and destination addresses identifies the receiving RLC entity.
The physical layer also provides potential mechanisms, which may be used as part of a D2D communication addressing scheme. An example of an implicit addressing mechanism is the physical cell identity, as defined by the PSS/SSS synchronization signal transmitted by the eNB. A UE receiving a data block using a given synchronization signal as a timing reference, should be able to distinguish this data block from another data block using a different synchronization signal as a timing reference.
As an example, a D2D Synchronization Source transmits a D2D Synchronization Signal, which in turn includes an identification mechanism (e.g., by having the UE choose one of several synchronization signal patterns). A UE that receives two data blocks, which use different D2D Synchronization Signals as timing references, should be able to distinguish the two data blocks.
Additionally, the scheduling assignment also includes an identity. This “L1 identity” is used by the receiver for physical layer filtering of the scheduling assignments. If the “L1 identity” is based on the destination address of the data, it facilitates DRX in the receiver for multicast and unicast. For broadcast, the destination address is fixed and the “L1 identity” may be based on the source address instead.
FIG. 4 illustrates a UE-UE (PC5) interface user plane protocol stack for ProSe direct communication. The ProSe application interacts with the user and also handles functions as, for example, group management. A given application is identified by a ProSe Application Id. In the IP layer, IP Multicast addressing is utilized in case of one-to-many communication.
Layer 2 (PDCP, RLC, MAC and PHY) offers a broadcast communication service (“D2D Broadcast”). The D2D data radio bearers carries user data (IP packets). The D2D signaling radio bearers carry signaling. The only signaling identified is tentatively named the “ProSe protocol” and would be used, for example, for mutual UE-UE authentication and discovery.
Furthermore, a UE within coverage also uses the UE-Network interface (LTE-Uu), which is a 3GPP protocol stack, and enhanced with the required D2D assistance support. From a protocol architecture point of view, the UE-UE and UE-Network protocol stacks are in principle independent. However, an in-coverage UE would naturally enjoy D2D network assistance over the UE-Network (LTE-Uu) protocol stack. Any network assistance information may be used to manage the UE-UE (Ud) protocol stack via the ProSe Management entity.
The D2D data radio bearer configuration is preconfigured in the UEs when they are out of coverage or in idle mode. A UE in connected mode may receive dedicated D2D data radio bearer configuration (FFS).
There are some problems with the existing solutions. A communication between two devices needs to be identified so that receiving devices can retrieve the correct data blocks. Therefore, the communication is tagged with identifiers, such as source and destination identifiers. When a user moves between the states, the UE may change its source address. For example, in mode 1, the UE may have received the source address from the eNB, and when moving into a state where mode 2 is used, the UE will generate the source address itself. Another example is that the source address is assigned by the ProSe Key Management Function as defined in 3GPP TS 33.303 V.12.2.0, and may be subject to changes. Yet another example is that the source address is self-assigned by the UE, and that the UE should be prepared to handle conflicts of source addresses using mechanisms such as self-assigning a new source address when a conflict is detected, 3GPP TS 23.303 V.12.3.0.
The receiving end will identify MAC data blocks based on the source and destination addresses, used to identify the receiving RLC entity and then RLC sequence numbers are used to reorder the data blocks, but if the source address has changed, then it will fail compiling the data blocks since it can't find the RLC entity to receive the data blocks. In particular, if a transmitted IP packet was segmented into several RLC PDUs, and the source address change happened during transmission of this segmented IP packet, the whole IP packet is lost. Therefore, protocols above the MAC layer may stall, or at least require a dedicated recovery procedure that will cause a critical interruption in the communications. TCP is especially very sensitive to lost IP packets.